package com.qlk.odcinterface.dao;

import java.util.List;

import com.qlk.odcinterface.domain.PmsCoupon;
import com.qlk.odcinterface.domain.query.PmsCouponQuery;
/**
 * PmsCouponDao接口<br/>
 * 对'优惠券'表进行基本的操作
 * 
 * @author zhaoyanan
 * @version 2016-4-14 14:11:36
 * 
 */
public interface PmsCouponDao {
    
    /**
     * 新增对象
     * 
     * @param pmsCoupon 
     * @return
     */
    public boolean insert(PmsCoupon pmsCoupon);

    /**
     * 更新对象
     * 
     * @param pmsCoupon
     * @return
     */
    public boolean update(PmsCoupon pmsCoupon);

    /**
     * 根据查询Bean获取对象集合，不带翻页
     * 
     * @param queryBean
     * @return
     */
    public List<PmsCoupon> queryPmsCouponList(PmsCouponQuery queryBean);

    /**
     * 根据查询Bean获取总数
     * 
     * @param queryBean
     * @return
     */
    public int queryPmsCouponCount(PmsCouponQuery queryBean);

    /**
     * 根据查询Bean获取集合，带翻页
     * 
     * @param queryBean
     * @return
     */
    public List<PmsCoupon> queryPmsCouponListWithPage(PmsCouponQuery queryBean);

    /**
     * 删除记录
     * 
     * @param pmsCoupon
     * @return
     */
    public boolean delete(PmsCoupon pmsCoupon);

    /**
     * 根据主键获取对象
     * 
     * @param id
     *            主键字段
     * @return
     */
    public PmsCoupon getPmsCouponById(Long id);

    /**
     * 判断是否存在
     * 
     * @param pmsCoupon
     * @return
     */
    public boolean exist(PmsCoupon pmsCoupon);
    
    /**
     * 更新优惠券状态
     * @param pmsCoupon
     * @return
     */
    public boolean updatePmsCouponStatus(PmsCoupon pmsCoupon);
    
    /**
     * 更新删除时间
     * @param pmsCoupon
     * @return
     */
    public boolean updateDeleteAt(PmsCoupon pmsCoupon);
}
